package service.impl;

import dao.UserMapper;
import dto.DataTableVO;
import dto.LoginDTO;
import dto.UserDTO;

import java.util.HashMap;
import java.util.List;

import model.User;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import service.IUserService;

@Service
public class UserServiceImpl implements IUserService{

	@Autowired
	private UserMapper userMapper;
	
	public User getUser(LoginDTO paramLoginDTO) {
		HashMap<String,Object> paramHashMap = new HashMap<String,Object>();
		paramHashMap.put("username", paramLoginDTO.getUsername());
		paramHashMap.put("password", paramLoginDTO.getPassword());
		return userMapper.selectUser(paramHashMap);
	}

	public DataTableVO<User> getUserList(UserDTO paramUserDTO,int pageNow,int pageSize,int sEcho) {
		PageHelper.startPage((pageNow+1)/pageSize +1, pageSize);
		Page<User> page = (Page<User>) userMapper.getUserList(paramUserDTO);
		int count = (int) page.getTotal();
		DataTableVO<User> tableVO = new DataTableVO<User>();
		tableVO.setAaData(page);
		tableVO.setiTotalDisplayRecords(count);
		tableVO.setiTotalRecords(count);
		tableVO.setsEcho(sEcho);
		return tableVO;
	}

	public Integer getUserCount(UserDTO paramUserDTO) {
		return userMapper.getUserCount(paramUserDTO);
	}

	public Integer saveUser(User paramUser) {
		return userMapper.insert(paramUser);
	}

	public Integer updateUser(User paramUser) {
		return userMapper.update(paramUser);
	}

	public Integer delUser(String userId, String deleteBy) {
		return userMapper.del(userId, deleteBy);
	}

	public User getUser(String userId) {
		return userMapper.selectUserById(userId);
	}
  
}
